Lars Ingebrigtsen [Wed, 20 Oct 2021 07:36:25 +0000 (09:36 +0200)]
Add new macro with-locale-environment
* lisp/international/mule-cmds.el (with-locale-environment): New macro.
(current-locale-environment): New variable.
Stefan Kangas [Wed, 20 Oct 2021 01:23:28 +0000 (03:23 +0200)]
Add some tests for fns.c
* test/src/fns-tests.el (fns-tests-identity, fns-tests-random)
(fns-tests-length, fns-tests-safe-length)
(fns-tests-string-bytes): New tests.
Stefan Kangas [Tue, 19 Oct 2021 23:52:26 +0000 (01:52 +0200)]
Remove some XEmacs compat code from custom.el
* lisp/custom.el (deftheme, custom-declare-theme): Remove XEmacs
compat code.
Dmitry Gutov [Tue, 19 Oct 2021 22:03:52 +0000 (01:03 +0300)]
xref.el: Better compatibility with outdated Emacs 28 builds
* lisp/progmodes/xref.el:
Ensure better compatibility with outdated Emacs 28 builds as well
(like the pgtk branch). Bump the version.
Stefan Monnier [Tue, 19 Oct 2021 21:18:05 +0000 (17:18 -0400)]
* doc/lispref/files.texi (File Name Components): Mention GNU "path" convention
Lars Ingebrigtsen [Tue, 19 Oct 2021 21:10:46 +0000 (23:10 +0200)]
Make image-tests work in a no-x build
* test/src/image-tests.el: Make the tests work in a no-x build
(bug#51291).
Lars Ingebrigtsen [Tue, 19 Oct 2021 20:39:00 +0000 (22:39 +0200)]
Tweak how 'align' and 'align-regexp' align text
* lisp/align.el (align-rules-list): Change to work without `C-u'.
(align): Doc clarification.
(align-regexp): Ditto, and change default `C-u' regexp from
"\\(\\s-*\\)" to "\\(\\s-*\\)" so that it'll make things columnar
if the user just hits RET through all the defaults.
Mattias Engdegård [Tue, 19 Oct 2021 10:03:15 +0000 (12:03 +0200)]
Improve TCO test coverage
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Exercise `cond` in tail position in two different ways.
Lars Ingebrigtsen [Tue, 19 Oct 2021 18:36:48 +0000 (20:36 +0200)]
Make downcasing unibyte strings in Turkish less wrong
* src/casefiddle.c (ascii_casify_character): New function.
(do_casify_unibyte_string): Use it to make downcasing tr_TR.UTF-8
"I" less wrong.
(Fdowncase): Mention caveats.
(Fupcase):
(Fcapitalize):
(Fupcase_initials): Refer to details in `downcase'.
(syms_of_casefiddle): Define more symbols.
Glenn Morris [Tue, 19 Oct 2021 14:50:35 +0000 (07:50 -0700)]
Merge from origin/emacs-28
d742cc3c20 (origin/emacs-28) ; etc/NEWS: Fix typos
28db29590f * admin/notes/unicode: Refer to Unicode's emoji-style.txt
9bd2f59db6 Handle VS-16 correctly for non-emoji codepoints
e55e2d4a11 ; * etc/NEWS: Minor copyedit about 'repeat-mode'.
380981ddb5 Adjust bug-reference-bug-regexp default values to match on...
c1cf95a0e1 ; * doc/emacs/windows.texi: Doc fix.
98eb6d783a Fix a typo in emacs-lisp-intro.texi
f5b8f626e3 Fix some Tramp problems
fc988a7113 Adapt Tramp manual
0c241043a8 Further fixes to Elisp manual
8e8a920246 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): ...
5a3242301d Rename tab-bar-drag-maybe to tab-bar--dragging-in-progress
bb4209a5a5 Fix xref elisp identifier namespace mistake
# Conflicts:
# etc/NEWS
Dmitry Gutov [Tue, 19 Oct 2021 14:42:25 +0000 (17:42 +0300)]
* lisp/progmodes/xref.el: Bump version.
Dmitry Gutov [Tue, 19 Oct 2021 14:32:35 +0000 (17:32 +0300)]
Fix Emacs 26 support in xref.el
* lisp/progmodes/xref.el (xref--defstruct): New macro.
(xref-item, xref-match-item): Use it in definitions.
Michael Albinus [Tue, 19 Oct 2021 13:06:30 +0000 (15:06 +0200)]
; etc/NEWS: Fix typos
Robert Pluim [Mon, 18 Oct 2021 12:52:49 +0000 (14:52 +0200)]
* admin/notes/unicode: Refer to Unicode's emoji-style.txt
Robert Pluim [Mon, 18 Oct 2021 09:51:10 +0000 (11:51 +0200)]
Handle VS-16 correctly for non-emoji codepoints
* admin/unidata/blocks.awk: Remove emoji overrides for codepoints with
Emoji_Presentation = No, they're no longer necessary.
* lisp/composite.el: Remove #xFE0F (VS-16) from the range handled by
`compose-gstring-for-variation-glyph' so it can be handled by
`font_range'.
* src/composite.c (syms_of_composite): New variable
`auto-composition-emoji-eligible-codepoints'.
* admin/unidata/emoji-zwj.awk: Generate value for
`auto-composition-emoji-eligible-codepoints'. Add
`composition-function-table' entries for 'codepoint + U+FE0F' for
them.
* src/font.c (codepoint_is_emoji_eligible): New function to check if
we should try to use the emoji font for a codepoint.
(font_range): Use it.
Eli Zaretskii [Tue, 19 Oct 2021 12:12:43 +0000 (15:12 +0300)]
; * etc/NEWS: Minor copyedit about 'repeat-mode'.
Michael Albinus [Tue, 19 Oct 2021 07:43:34 +0000 (09:43 +0200)]
* etc/NEWS: Move sql entry up. Fix typos.
Tassilo Horn [Tue, 19 Oct 2021 05:05:18 +0000 (07:05 +0200)]
Adjust bug-reference-bug-regexp default values to match only at beg of word
Previously, the "bug 1" in "(debug 1)" has also been highlighted.
* lisp/progmodes/bug-reference.el (bug-reference-bug-regexp)
(bug-reference--setup-from-vc-alist,bug-reference-setup-from-mail-alist)
(bug-reference-setup-from-irc-alist): Adjust bug-reference-bug-regexp
default values to match only at the beginning of a word.
Michael R. Mauger [Tue, 19 Oct 2021 04:18:17 +0000 (00:18 -0400)]
SQL mode supports sending passwords in process
Michael R. Mauger [Tue, 12 Oct 2021 00:04:46 +0000 (20:04 -0400)]
Added sql-add-connection
* lisp/progmodes/sql.el (sql-add-connection): Added.
Pedro Mauro [Tue, 19 Oct 2021 03:14:07 +0000 (05:14 +0200)]
; * doc/emacs/windows.texi: Doc fix.
* doc/emacs/windows.texi (Window Choice): Make example a valid
alist (bug#51274).
Lars Ingebrigtsen [Tue, 19 Oct 2021 03:07:51 +0000 (05:07 +0200)]
Make `lookup-key' understand the new key sequence syntax
* src/keymap.c (possibly_translate_key_sequence): Factored out
into own function.
(Fdefine_key):
(Flookup_key): Use it.
Lars Ingebrigtsen [Tue, 19 Oct 2021 02:50:59 +0000 (04:50 +0200)]
Error out on invalid `define-keymap' keywords
* lisp/subr.el (define-keymap--define): Error out on invalid
keywords (bug#51268).
* lisp/emacs-lisp/byte-opt.el (byte-optimize-define-keymap): Check
keywords at compile time.
* lisp/vc/cvs-status.el (cvs-status-mode-map): Fix keyword.
Lars Ingebrigtsen [Mon, 18 Oct 2021 16:55:48 +0000 (18:55 +0200)]
Fix diff-mode-shared-map
* lisp/vc/diff-mode.el (diff-mode-shared-map): Fix syntax error in
`defvar-keymap' change.
Stefan Kangas [Tue, 19 Oct 2021 00:36:06 +0000 (02:36 +0200)]
Fix a typo in emacs-lisp-intro.texi
* doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Fix typo.
Reported by Mor Zahavi <morzahavi@me.com>. (Bug#51271)
Stefan Kangas [Mon, 18 Oct 2021 20:35:40 +0000 (22:35 +0200)]
Add tests for image.c
* test/src/image-tests.el: New file.
Michael Albinus [Mon, 18 Oct 2021 17:54:13 +0000 (19:54 +0200)]
Fix some Tramp problems
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
Use `tramp-adb-handle-file-executable-p' and
`tramp-adb-handle-file-readable-p'.
(tramp-adb-handle-file-executable-p)
(tramp-adb-handle-file-readable-p): New defuns.
(tramp-adb-handle-file-writable-p): Simplify.
(tramp-adb-handle-make-process): Handle :filter being t.
(tramp-adb-find-test-command): Remove.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-readable-p):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-readable-p):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
Use `tramp-handle-file-readable-p'.
(tramp-gvfs-handle-file-executable-p): Do not check whether file
exists, this is done in `tramp-check-cached-permissions'.
(tramp-gvfs-handle-file-readable-p): Remove.
* lisp/net/tramp.el (tramp-error): Move binding of `inhibit-message' ...
(tramp-signal-hook-function): ... here.
(tramp-handle-access-file): Rewrite.
(tramp-handle-file-readable-p): New defun.
(tramp-handle-make-process): Setting :filter to t works since
Emacs 29.1 only.
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp-test18-file-attributes): Extend tests.
Michael Albinus [Mon, 18 Oct 2021 17:53:34 +0000 (19:53 +0200)]
Adapt Tramp manual
* doc/misc/tramp.texi: Use @uref instead of @url.
(Frequently Asked Questions): Adapt ELPA references.
Martin Rudalics [Mon, 18 Oct 2021 17:18:42 +0000 (19:18 +0200)]
Further fixes to Elisp manual
* doc/lispref/frames.texi (Frame Layout): Index "tab bar" instead
of "internal tab bar".
(Implied Frame Resizing): Remove irritating hyphens.
* doc/lispref/windows.texi (Windows and Frames): Remove paragraph
relating 'minibuffer-window' to 'window-list'.
Alan Mackenzie [Mon, 18 Oct 2021 16:49:19 +0000 (16:49 +0000)]
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): check type-start
Check type-start is non-nil at L659 of the function.
Juri Linkov [Mon, 18 Oct 2021 16:52:29 +0000 (19:52 +0300)]
Rename tab-bar-drag-maybe to tab-bar--dragging-in-progress
* lisp/tab-bar.el (tab-bar--event-to-item, tab-bar-mouse-down-1)
(tab-bar-mouse-move-tab): Rename tab-bar-drag-maybe to
tab-bar--dragging-in-progress.
* src/xdisp.c (note_mouse_highlight): Rename tab_bar_drag_maybe to
tab_bar__dragging_in_progress.
Mattias Engdegård [Mon, 18 Oct 2021 15:06:22 +0000 (17:06 +0200)]
Fix xref elisp identifier namespace mistake
Pressing `M-.` on ALPHA in
(let ((ALPHA BETA)) ...)
would incorrectly search for ALPHA as a function rather than a variable.
* lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace): Fix logic.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp-mode-infer-namespace): Add test case.
Glenn Morris [Mon, 18 Oct 2021 14:50:26 +0000 (07:50 -0700)]
Merge from origin/emacs-28
c163fd9260 (origin/emacs-28) Minor fixes for recent changes in ELisp ...
fefada4816 Fix example in calc manual
e74e17c1f0 Rewrites of Elisp manual including tab-bar and tab-line ch...
3b138917b7 ; * INSTALL: Fix typo.
ce71446585 * lisp/tab-bar.el: Improve docstrings (bug#51247)
ace4ce16a3 * lisp/tab-bar.el (tab-bar-mouse-move-tab): Don't drag tab...
04716ca48f Add tab-bar-drag-maybe for indication of tab dragging (bug...
81e3697600 * lisp/tab-bar.el: Add a new tab on [mouse-1] instead of [...
a191d3c725 Add new and fix existing docstrings in tab-bar.el and tab-...
77dbaedadc Add tab bar support to the nextstep port
7b6fb486c2 Fix potential buffer overflow (bug#50767)
ed9f5546aa Improve doc strings in tab-line.el
686a03ee22 More documentation fixes in tab-bar.el
35920791df Improve doc strings of tab-bar commands
2d15db6e89 Fix a semantic test on some macOS machines
ac6ac76e3a Update to Org 9.5-57-g9bc3a2
Eli Zaretskii [Mon, 18 Oct 2021 14:13:18 +0000 (17:13 +0300)]
Minor fixes for recent changes in ELisp manual
* doc/lispref/windows.texi (Basic Windows, Windows and Frames)
(Selecting Windows):
* doc/lispref/objects.texi (Window Type):
* doc/lispref/frames.texi (Input Focus, Frame Layout): Fix
wording, punctuation, and indexing.
Lars Ingebrigtsen [Mon, 18 Oct 2021 13:56:51 +0000 (15:56 +0200)]
Fix example in calc manual
* doc/misc/calc.texi (Arithmetic Tutorial): Fix sign in the
example (bug#51265).
Miha Rihtaršič [Mon, 18 Oct 2021 13:24:54 +0000 (15:24 +0200)]
*-watch-for-password-prompt: Use run-at-time to read password
* lisp/comint.el (comint-watch-for-password-prompt):
* lisp/eshell/esh-mode.el (eshell-watch-for-password-prompt):
* lisp/term.el (term-watch-for-password-prompt):
Use run-at-time to read a password (bug#51263).
Lars Ingebrigtsen [Mon, 18 Oct 2021 09:35:51 +0000 (11:35 +0200)]
Add some defvar indent tests
Lars Ingebrigtsen [Mon, 18 Oct 2021 08:48:45 +0000 (10:48 +0200)]
Mention that we now install the pdmp file with a fingerprinted name
Lars Ingebrigtsen [Mon, 18 Oct 2021 08:44:28 +0000 (10:44 +0200)]
Add indentation rules for DEFUN's def* functions
Lars Ingebrigtsen [Mon, 18 Oct 2021 08:40:08 +0000 (10:40 +0200)]
Update elp-not-profilable
* lisp/emacs-lisp/elp.el (elp-not-profilable): Update list of
denied functions (bug#40335).
Lars Ingebrigtsen [Mon, 18 Oct 2021 08:00:20 +0000 (10:00 +0200)]
Remove the "def" indentation heuristic
* lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Don't
indent function calls with names that that start with "def"
specially (bug#43329).
Martin Rudalics [Mon, 18 Oct 2021 07:58:48 +0000 (09:58 +0200)]
Rewrites of Elisp manual including tab-bar and tab-line changes
* doc/lispref/buffers.texi (Current Buffer, Buffer List): Update
references to 'selected-window'.
* doc/lispref/elisp.texi (Top): Move up Selecting Windows section
in front of Window Sizes section.
* doc/lispref/frames.texi (Creating Frames): Say window system
instead of windowing system.
(Frame Layout): Add Tab Bar to layout.
(Layout Parameters): Add 'tab-bar-lines'.
(Input Focus): Say window system window instead of window
manager window. Fix reference to 'selected-window'.
* doc/lispref/objects.texi (Window Type): Minor rewrite.
* doc/lispref/windows.texi (Basic Windows): Rewrite. Settle on
term 'window system window' for disambiguation with our windows.
Move 'selected-window' description to Selecting Windows section.
Move schematic of window structure here. Use 'decorations' for
objects outside the window body. Say that the areas reserved
for continuation and truncation glyphs, vertical dividers and
line numbers are part of the window body.
(Windows and Frames): Minor rewrite, adding and fixing some
cross references. Move live window schematic to 'Basic Windows'
section.
(Selecting Windows): Move section in front of Window Sizes
section. Move description of 'selected-window' here. Move up
description of 'frame-selected-window' and
'set-frame-selected-window'. Update and move description of
'window-bump-use-time' here.
(Window Sizes): Throughout use the term 'decorations' instead of
enumerating them individually. Add 'window-tab-line-height'
description.
(Resizing Windows): Again use the term 'decorations' instead of
enumerating them individually.
(Splitting Windows): Minor fix.
(Cyclic Window Ordering): Improve descriptions of 'get-lru-window'
and 'get-mru-window'. Move 'window-bump-use-time' to Selecting
Windows section.
(Coordinates and Windows, Window Configurations): Once more use
the term 'decorations' instead of enumerating them individually.
* src/window.c (Fwindow_bump_use_time): Move after
'window-use-time'. Make it work for live windows only. Make
WINDOW argument optional. Update doc-string.
Lars Ingebrigtsen [Mon, 18 Oct 2021 07:44:24 +0000 (09:44 +0200)]
Fontify :doc keywords as documentation
* lisp/emacs-lisp/lisp-mode.el (lisp-string-after-doc-keyword-p):
Extend to :doc, too (bug#51230).
Daniel Martín [Sat, 16 Oct 2021 18:24:19 +0000 (20:24 +0200)]
New option show-paren-context-when-offscreen
* lisp/simple.el (blink-paren-open-paren-line-string): Extract
functionality that shows the open paren line in the echo area into its
own function, to reuse it from paren.el.
(blink-matching-open): Use blink-paren-open-paren-line-string.
* lisp/paren.el (show-paren-context-when-offscreen): New option
show-paren-context-when-offscreen.
(show-paren-function): Implement it using
blink-paren-open-paren-line-string.
* lisp/emacs-lisp/eldoc.el (eldoc-display-message-no-interference-p):
Make sure the feature works well with eldoc.
* test/lisp/paren-tests.el (paren-tests-open-paren-line): Test
blink-paren-open-paren-line-string.
* doc/emacs/programs.texi (Matching): Update the documentation.
* etc/NEWS: And announce the new feature.
Lars Ingebrigtsen [Mon, 18 Oct 2021 07:22:22 +0000 (09:22 +0200)]
Fix possible build issue in pcvs.el and diff-mode.el
* lisp/vc/pcvs.el (easy-mmode):
* lisp/vc/diff-mode.el (easy-mmode): Require.
Protesilaos Stavrou [Mon, 18 Oct 2021 07:07:03 +0000 (10:07 +0300)]
Add sample user function in eww-auto-rename-buffer
* eww.el (eww-auto-rename-buffer): Update doc string.
Fix bug#51176.
Co-authored-by: Abhiseck Paira <abhiseckpaira@disroot.org>
Co-authored-by: Protesilaos Stavrou <info@protesilaos.com>
Lars Ingebrigtsen [Mon, 18 Oct 2021 07:13:51 +0000 (09:13 +0200)]
Fix build issue with smerge-mode
* lisp/vc/smerge-mode.el (easy-mmode): Require.
Lars Ingebrigtsen [Mon, 18 Oct 2021 06:58:02 +0000 (08:58 +0200)]
Allow :filter t in make-process to work as with set-process-filter
* src/process.c (create_process):
(create_pty):
(Fmake_pipe_process):
(Fmake_serial_process): Don't add the read_fd if the filter is t
(which means that we don't accept output from the filter).
Lars Ingebrigtsen [Mon, 18 Oct 2021 05:37:08 +0000 (07:37 +0200)]
Do kbd-valid-p prefix comparisons case-sensitively
* lisp/subr.el (kbd-valid-p): Compare case-sensitively.
Stefan Kangas [Mon, 18 Oct 2021 00:35:33 +0000 (02:35 +0200)]
; * INSTALL: Fix typo.
Stefan Kangas [Sat, 16 Oct 2021 12:39:04 +0000 (14:39 +0200)]
Recommend against using uce.el
* lisp/mail/uce.el (uce-reply-to-uce): Recommend against its use on
the first invocation. (Bug#46472)
Stefan Kangas [Sun, 17 Oct 2021 23:49:39 +0000 (01:49 +0200)]
* lisp/erc/erc-compat.el (format-spec): Remove redundant require.
Stefan Kangas [Sun, 17 Oct 2021 23:33:21 +0000 (01:33 +0200)]
Prefer defvar-local in MH-E
* lisp/mh-e/mh-comp.el (mh-insert-auto-fields-done-local):
* lisp/mh-e/mh-e.el (mh-thread-scan-line-map)
(mh-thread-scan-line-map-stack):
* lisp/mh-e/mh-identity.el (mh-identity-pgg-default-user-id)
(mh-identity-local):
* lisp/mh-e/mh-scan.el (mh-cmd-note):
* lisp/mh-e/mh-seq.el (mh-non-seq-mode-line-annotation):
* lisp/mh-e/mh-thread.el (mh-thread-id-hash)
(mh-thread-subject-hash, mh-thread-id-table)
(mh-thread-index-id-map, mh-thread-id-index-map)
(mh-thread-subject-container-hash, mh-thread-duplicates)
(mh-thread-history): Prefer defvar-local.
Stefan Kangas [Sun, 17 Oct 2021 23:28:49 +0000 (01:28 +0200)]
Make thumbs-image-type obsolete
* lisp/thumbs.el (thumbs-image-type): Make into obsolete function
alias for 'image-type-from-file-name'. Update callers.
Lars Ingebrigtsen [Sun, 17 Oct 2021 23:27:27 +0000 (01:27 +0200)]
Use define-keymap in pcvs and pcvs-defs.el
* lisp/vc/pcvs-defs.el (cvs-mode-diff-map):
* lisp/vc/pcvs.el (pcvs-defs):
(cvs-mode-diff-map): Move maps to pcvs (because the commands are
defined in pcvs.el and #' gives us checking) and transform from
easy-mmode-defmap to define-keymap.
Lars Ingebrigtsen [Sun, 17 Oct 2021 22:49:56 +0000 (00:49 +0200)]
Convert diff-mode.el from easy-mmode-defmap to define-keymap
* lisp/vc/diff-mode.el (diff-mode-shared-map, diff-mode-map)
(diff-minor-mode-map): Convert from easy-mmode-defmap to
defvar-keymap.
Lars Ingebrigtsen [Sun, 17 Oct 2021 22:35:32 +0000 (00:35 +0200)]
Convert smerge-mode.el from easy-mmode-defmap to define-keymap
* lisp/vc/smerge-mode.el (smerge-basic-map, smerge-mode-map):
Convert form easy-mmode-defmap to define-keymap.
Lars Ingebrigtsen [Sun, 17 Oct 2021 20:27:13 +0000 (22:27 +0200)]
Add kbd examples to the doc string
* lisp/subr.el (kbd): Add some examples to the doc string.
Lars Ingebrigtsen [Sun, 17 Oct 2021 20:14:30 +0000 (22:14 +0200)]
Reverse the edmacro-parse-keys/kbd vector/string logic
* lisp/edmacro.el (edmacro-parse-keys): Convert to a vector if
needed.
* lisp/subr.el (kbd): Remove the NEED-VECTOR parameter.
Lars Ingebrigtsen [Sun, 17 Oct 2021 19:49:43 +0000 (21:49 +0200)]
Allow <mouse-1> in kbd-valid-p
* lisp/subr.el (kbd-valid-p): Allow (kbd-valid-p "<mouse-1>").
Lars Ingebrigtsen [Sun, 17 Oct 2021 19:29:59 +0000 (21:29 +0200)]
Reinstate defvar-keymap expansion
* lisp/emacs-lisp/byte-opt.el
(byte-optimize-define-keymap--define): Make more robust.
Lars Ingebrigtsen [Sun, 17 Oct 2021 19:06:26 +0000 (21:06 +0200)]
Back out `define-keymap' optimization -- it leads to a build error
Lars Ingebrigtsen [Sun, 17 Oct 2021 18:48:34 +0000 (20:48 +0200)]
Convert cvs-status-mode-map to new syntax
* lisp/vc/cvs-status.el (cvs-status-mode-map): Convert a small
keymap to the new ["..."] syntax.
Lars Ingebrigtsen [Sun, 17 Oct 2021 18:48:01 +0000 (20:48 +0200)]
Support a new ["..."] key binding syntax
* doc/lispref/keymaps.texi (Key Sequences):
(Changing Key Bindings): Document the various key syntaxes.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-define-key)
(byte-optimize-define-keymap)
(byte-optimize-define-keymap--define): New functions to check and
expand ["..."] syntax at compile time.
* src/keymap.c (Fdefine_key): Understand the ["..."] syntax.
(syms_of_keymap): Define `kbd' symbols.
Juri Linkov [Sun, 17 Oct 2021 18:28:54 +0000 (21:28 +0300)]
* lisp/tab-bar.el: Improve docstrings (bug#51247)
* lisp/tab-bar.el (tab-bar--key-to-number)
(tab-bar--event-to-item, tab-bar--format-tab-group)
(tab-bar--current-tab-make): Improve docstrings.
(switch-to-buffer-other-tab): Obsolete the arg NORECORD.
Juri Linkov [Sun, 17 Oct 2021 18:03:27 +0000 (21:03 +0300)]
* lisp/tab-bar.el (tab-bar-mouse-move-tab): Don't drag tab to itself.
Paul Eggert [Sun, 17 Oct 2021 17:51:56 +0000 (10:51 -0700)]
Pacify gcc -Wsuggest-attribute=malloc
Problem found with gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0 x86-64.
* src/sysstdio.h (emacs_fopen): Mark with ATTRIBUTE_MALLOC.
Martin Rudalics [Sun, 17 Oct 2021 17:48:45 +0000 (20:48 +0300)]
Add tab-bar-drag-maybe for indication of tab dragging (bug#50993)
* lisp/tab-bar.el (tab-bar--event-to-item)
(tab-bar-mouse-move-tab): Set tab-bar-drag-maybe to nil.
(tab-bar-mouse-down-1): Set tab-bar-drag-maybe to t.
* src/xdisp.c (note_mouse_highlight): Set cursor to 'hand_cursor'
when tab_bar_drag_maybe is true.
(syms_of_xdisp): New variable tab-bar-drag-maybe.
Juri Linkov [Sun, 17 Oct 2021 17:27:16 +0000 (20:27 +0300)]
* lisp/tab-bar.el: Add a new tab on [mouse-1] instead of [down-mouse-1]
* lisp/tab-bar.el (tab-bar-mouse-down-1): Rename from
tab-bar-mouse-select-tab. Ignore 'add-tab'.
(tab-bar-mouse-1): Rename from tab-bar-mouse-close-tab-from-button.
Use binding of 'add-tab'.
(tab-bar-map): Rebind [down-mouse-1] from tab-bar-mouse-select-tab to
tab-bar-mouse-down-1, and [mouse-1] from tab-bar-mouse-close-tab-from-button
to tab-bar-mouse-1 (bug#51246).
Lars Ingebrigtsen [Sun, 17 Oct 2021 17:25:52 +0000 (19:25 +0200)]
Rewrite kbd-valid-p to not use seq
* lisp/subr.el (kbd-valid-p): Rewrite to not use seq.
Juri Linkov [Sun, 17 Oct 2021 17:09:29 +0000 (20:09 +0300)]
Add new and fix existing docstrings in tab-bar.el and tab-line.el (bug#51247)
* lisp/tab-bar.el (tab-bar--key-to-number)
(tab-bar--event-to-item, tab-bar--format-tab)
(tab-bar--format-tab-group, tab-bar--tab, tab-bar--current-tab)
(tab-bar--current-tab-make): Add/fix docstrings.
Stefan Kangas [Sun, 17 Oct 2021 14:07:59 +0000 (16:07 +0200)]
* src/image.c: Fix comment.
Eli Zaretskii [Sun, 17 Oct 2021 12:13:28 +0000 (15:13 +0300)]
; Fix typos in last change.
Eli Zaretskii [Sun, 17 Oct 2021 12:10:04 +0000 (15:10 +0300)]
Minor stylistic changes in last commit
* src/xdisp.c (adjust_glyph_width_for_mouse_face): Renamed from
'get_glyph_pixel_width_delta_for_mouse_face'; all callers
changed.
Po Lu [Thu, 14 Oct 2021 10:38:26 +0000 (18:38 +0800)]
Fix minor issues with text display when cursor is in mouse face
* src/xdisp.c (get_cursor_offset_for_mouse_face): Don't calculate
offsets for the glyph the cursor is on, and move some logic to
get_glyph_pixel_width_delta_for_mouse_face.
(fill_composite_glyph_string)
(fill_gstring_glyph_string)
(fill_glyphless_glyph_string)
(fill_glyph_string)
(fill_image_glyph_string)
(fill_xwidget_glyph_string)
(fill_stretch_glyph_string): Set s->face to mouse face whenever
appropriate.
(get_glyph_pixel_width_delta_for_mouse_face): New function.
(set_glyph_string_background_width): Update background width and
s->width to take into account differing :box properties of the mouse
face, when producing strings for the cursor.
(erase_phys_cursor): Redraw mouse face when erasing a cursor on top of
the mouse face.
* src/xterm.c (x_set_mouse_face_gc): Stop setting s->face when under
mouse face because redisplay now does that for us.
* src/w32term.c (w32_set_mouse_face_gc): Likewise.
Lars Ingebrigtsen [Sun, 17 Oct 2021 10:56:54 +0000 (12:56 +0200)]
Fix up recent kbd simplification
* lisp/subr.el (kbd): Fix breakage with X-<foo> from previous change.
Po Lu [Fri, 15 Oct 2021 18:02:54 +0000 (19:02 +0100)]
Add tab bar support to the nextstep port
* src/nsfns.m (ns_change_tab_bar_height): New function.
(ns_set_tab_bar_lines): Check tab bar height and set tab bar
accordingly.
* src/nsterm.m (ns_clear_under_internal_border): Clear internal border
correctly when there is a tab bar.
(ns_create_terminal): Add ns_change_tab_bar_height.
(mouseDown): Handle tab bar mouse click events.
Alan Third [Mon, 4 Oct 2021 21:35:41 +0000 (22:35 +0100)]
Fix potential buffer overflow (bug#50767)
* src/image.c (svg_load_image): Check how many bytes were actually
written to the buffer. Don't check xmalloc return value as xmalloc
doesn't return if it fails.
Eli Zaretskii [Sun, 17 Oct 2021 09:49:04 +0000 (12:49 +0300)]
Improve doc strings in tab-line.el
* lisp/tab-line.el (tab-line-tab-name-function)
(tab-line-tab-name-truncated-buffer, tab-line-tabs-mode-buffers)
(tab-line-tabs-buffer-group-function)
(tab-line-tabs-buffer-group-sort-function)
(tab-line-tabs-buffer-groups, tab-line-tab-name-format-function)
(tab-line-tab-name-format-default, tab-line-format-template)
(tab-line-tab-face-inactive-alternating)
(tab-line-tab-face-special, tab-line-tab-face-modified)
(tab-line-format, tab-line-auto-hscroll, tab-line-hscroll-right)
(tab-line-hscroll-left, tab-line-new-tab, tab-line-select-tab)
(tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab)
(tab-line-close-tab-function, tab-line-close-tab)
(tab-line-tab-context-menu, tab-line-context-menu)
(tab-line-mode, tab-line-exclude-modes, tab-line-mode--turn-on):
Add or fix doc strings.
Eli Zaretskii [Sun, 17 Oct 2021 08:42:23 +0000 (11:42 +0300)]
More documentation fixes in tab-bar.el
* lisp/tab-bar.el (tab-bar-detach-tab, tab-bar-move-window-to-tab)
(tab-bar-new-tab-to, tab-bar-new-tab, tab-bar-close-tab-select)
(tab-bar-close-last-tab-choice, tab-bar-tab-pre-close-functions)
(tab-bar-close-tab, tab-bar-close-tab-by-name)
(tab-bar-close-other-tabs, tab-bar-rename-tab)
(tab-bar-rename-tab-by-name, tab-bar-move-tab-to-group)
(tab-bar-change-tab-group, tab-bar-close-group-tabs)
(tab-switcher-next-line, tab-switcher-prev-line)
(tab-switcher-unmark, tab-switcher-delete, tab-switcher-select)
(tab-bar-get-buffer-tab, display-buffer-in-tab)
(display-buffer-in-new-tab, switch-to-buffer-other-tab)
(find-file-other-tab, find-file-read-only-other-tab): Doc fixes.
Michael Albinus [Sun, 17 Oct 2021 07:36:59 +0000 (09:36 +0200)]
Warn about `file-notify-rm-all-watches' side effects
* doc/lispref/os.texi (File Notifications): Warn about
`file-notify-rm-all-watches' side effects.
Eli Zaretskii [Sun, 17 Oct 2021 07:33:34 +0000 (10:33 +0300)]
Improve doc strings of tab-bar commands
* lisp/tab-bar.el (tab-bar-mouse-select-tab)
(tab-bar-mouse-move-tab, tab-bar-mouse-close-tab-from-button)
(tab-bar-mouse-close-tab, tab-bar-mouse-context-menu)
(tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab)
(tab-bar-switch-to-last-tab, tab-bar-switch-to-recent-tab)
(tab-bar-move-tab-backward, tab-bar-move-tab)
(tab-bar-move-tab-to-frame): Add/fix doc strings.
Stefan Kangas [Sun, 17 Oct 2021 01:00:10 +0000 (03:00 +0200)]
Fix a semantic test on some macOS machines
* test/lisp/cedet/semantic/bovine/gcc-tests.el
(semantic-gcc-test-output-parser-this-machine): Fix test on some macOS
machines where running "gcc" runs "llvm" instead.
Stefan Kangas [Sat, 16 Oct 2021 20:09:54 +0000 (22:09 +0200)]
Simplify condition in kbd
* lisp/subr.el (kbd): Simplify condition. This was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-10/msg01136.html
Kyle Meyer [Sat, 16 Oct 2021 18:01:34 +0000 (14:01 -0400)]
Update to Org 9.5-57-g9bc3a2
Glenn Morris [Sat, 16 Oct 2021 16:18:37 +0000 (09:18 -0700)]
; Merge from origin/emacs-28
The following commit was skipped:
1dfe9d6285 (origin/emacs-28) Recommend against using uce.el
Glenn Morris [Sat, 16 Oct 2021 16:18:37 +0000 (09:18 -0700)]
Merge from origin/emacs-28
e8488808df Avoid aborts when a thread is signaled while "waiting for ...
21397cce51 Improve documentation string for 'compilation-error-regexp...
2971a6890f * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix t...
e842d7f29a Fix removal of fringe indication of bookmarks
b5a0eda978 Prefer "graphical displays" to "X terminals" in documentation
4ad0fc0dd0 Precise documentation of file-notify-add-watch
f5b8df14c6 Fixes to account for windows' tab lines
ced72b6e4c * Fix `native-compile-target-directory' effectiveness on t...
502788bc3d Add missing single quotes in the Emacs manual
1af45ad04e ; * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix...
12654b7423 * lisp/menu-bar.el (yank-menu-length): Fix docstring (bug#...
# Conflicts:
# lisp/gnus/gnus-undo.el
# lisp/menu-bar.el
Michael Albinus [Sat, 16 Oct 2021 16:08:25 +0000 (18:08 +0200)]
Set EMACS_TEST_TIMEOUT for emba
* test/Makefile.in: Support EMACS_TEST_TIMEOUT environment variable.
* test/README: Mention EMACS_TEST_TIMEOUT environment variable.
* test/infra/gitlab-ci.yml (variables): Set default value of
EMACS_TEST_TIMEOUT.
(.job-template): Propagate EMACS_TEST_TIMEOUT and EMACS_TEST_VERBOSE.
(test-all-inotify): Set specific EMACS_TEST_TIMEOUT.
Lars Ingebrigtsen [Sat, 16 Oct 2021 15:50:36 +0000 (17:50 +0200)]
Add new function 'kbd-valid-p'
* doc/lispref/keymaps.texi (Key Sequences): New function
'kbd-valid-p'.
* lisp/subr.el (kbd-valid-p): Document it.
Michael Albinus [Sat, 16 Oct 2021 15:23:57 +0000 (17:23 +0200)]
Fix :version of new faces in term.el
* lisp/term.el (term-faint, term-italic, term-slow-blink)
(term-fast-blink): Set proper :version.
Stefan Kangas [Wed, 13 Oct 2021 20:54:47 +0000 (22:54 +0200)]
Remove duplicate code in edmacro-parse-keys
* lisp/subr.el (kbd): Add argument NEED-VECTOR and make it suitable
for calling from 'edmacro-parse-keys'.
* lisp/edmacro.el (edmacro-parse-keys): Replace definition with a
call to 'kbd'.
This change was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-10/msg00909.html
Stefan Kangas [Tue, 12 Oct 2021 23:40:14 +0000 (01:40 +0200)]
Make kbd usable during bootstrap
* lisp/subr.el (kbd): Make 'kbd' usable during bootstrap by copying
the definition of 'read-kbd-macro' into it, and adjusting it to no
longer use CL-Lib functions.
This change was discussed in:
https://lists.gnu.org/r/emacs-devel/2021-10/msg00909.html
Michael Albinus [Sat, 16 Oct 2021 12:33:52 +0000 (14:33 +0200)]
Add command `file-notify-rm-all-watches'
* doc/lispref/os.texi (File Notifications):
Add `file-notify-rm-all-watches'.
* etc/NEWS: Mention 'file-notify-rm-all-watches'. Fix typos.
* lisp/filenotify.el (file-notify-rm-all-watches): New defun.
* test/lisp/filenotify-tests.el (file-notify--test-cleanup):
Use `file-notify-rm-all-watches'.
(file-notify-test02-rm-watch): Test also `file-notify-rm-all-watches'.
Stefan Kangas [Tue, 12 Oct 2021 04:30:20 +0000 (06:30 +0200)]
Recommend against using uce.el
* lisp/mail/uce.el: Recommend against its use. (Bug#46472)
Do not merge to master.
Andreas Schwab [Sat, 16 Oct 2021 11:58:13 +0000 (13:58 +0200)]
* src/emacs.c (standard_args): Sort --fingerprint second.
(bug#51238)
Eli Zaretskii [Sat, 16 Oct 2021 11:47:32 +0000 (14:47 +0300)]
Avoid aborts when a thread is signaled while "waiting for input".
* src/process.c (kbd_is_ours): New function.
(wait_reading_process_output): Set 'waiting_for_input' only if the
current thread is monitoring the keyboard descriptor. See also
https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01180.html.
(Bug#51229)
Eli Zaretskii [Sat, 16 Oct 2021 11:00:52 +0000 (14:00 +0300)]
; * src/emacs.c (load_pdump): Adjust comment to recent code changes.
Philipp Stephani [Sat, 16 Oct 2021 09:46:49 +0000 (11:46 +0200)]
Improve documentation string for 'compilation-error-regexp-alist'.
* lisp/progmodes/compile.el (compilation-error-regexp-alist): Clarify
behavior when TYPE is a cons cell.
Andrea Corallo [Sat, 16 Oct 2021 08:55:43 +0000 (10:55 +0200)]
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix target dir.
Eli Zaretskii [Sat, 16 Oct 2021 07:10:06 +0000 (10:10 +0300)]
Fix removal of fringe indication of bookmarks
* lisp/bookmark.el (bookmark--remove-fringe-mark): Fix off-by-one
error in looking for bookmark-related overlays. (Bug#51233)